/*=============================================================================
**                                  
**                      Proprietary - Copyright (C) 2013
**-----------------------------------------------------------------------------
** Supported MCUs      : <STM32F103 / MCU independent>
** Supported Compilers : <KeilC ARM / compiler independent>
**-----------------------------------------------------------------------------
** File name         : Seg7Disp.h
**
** Module name       : Seg7Disp
**
**
** Summary: __________________________
**
**= History ====================================================================
** 1.0 31/03/2013  VietComp
** - Creation
==============================================================================*/

#ifndef SEG7DISP_H
#define SEG7DISP_H

/*****************************************************************************/
/* INCLUSIONS                                                                */
/*****************************************************************************/
#include <VP_StdTypes.h>

/*****************************************************************************/
/* DEFINITION OF CONSTANTS                                                   */
/*****************************************************************************/
/* number of 7 segment led in panel */
#define SEG7DISP_LED_NBR                                        4
/*****************************************************************************/
/* DEFINITION OF TYPES                                                       */
/*****************************************************************************/
typedef enum {
	SEG7DISP_DISPLAY_OUTOFRANGE,
	SEG7DISP_DISPLAY_SUCCESS
}Seg7Disp_ReturnTypeDef;

typedef enum{
  SEG7DISP_STATE_NO_INIT,
	SEG7DISP_STATE_IDLE
}Seg7Disp_StateTypedef;
/*****************************************************************************/
/* DEFINITION OF MACROS                                                      */
/*****************************************************************************/

/*****************************************************************************/
/* DECLARATION OF VARIABLES (Only external global variables)                 */
/*****************************************************************************/

/*****************************************************************************/
/* DECLARATION OF GLOBALES FUNCTIONS (APIs, Callbacks & MainFunctions)       */
/*****************************************************************************/
/******************************************************************************
** Function name: Seg7Disp_Init( const uint8* LEDTable, 
**                               const void* LEDSelectFunc,
**                               const void* LEDOutDataFunc)
** Description: The function import data to LED
** Parameter X : 
** Return value: Reference Seg7Disp_ReturnTypeDef type
** Remarks: global variables used, side effects
******************************************************************************/
void Seg7Disp_Init( uint8* iLEDTable, 
                    void* LEDSelectFunc,
                    void* LEDOutDataFunc,
										void* DisableAllLed);
/******************************************************************************
** Function name: Seg7Disp_DisplayLocation( const uint8* dat, 
**                                         const uint8* add)
** Description: The function import data to LED
** Parameter X : dat - data display
**               add - location of led
** Return value: Reference Seg7Disp_ReturnTypeDef type
** Remarks: global variables used, side effects
******************************************************************************/
Seg7Disp_ReturnTypeDef Seg7Disp_DisplayLocation( uint8 dat,
                                                 uint8 add);

/******************************************************************************
** Function name: Seg7Disp_DisplayRefresh(void)
** Description: The function refresh led data
** Parameter X : None
** Return value: Reference Seg7Disp_ReturnTypeDef type
** Remarks: global variables used, side effects
******************************************************************************/
void Seg7Disp_DisplayRefresh(void);
#endif /* SEG7DISP_H */

